You are mistaken. result is an array of 200 char, not a pointer to char. It is true that in many cases it is implicitly converted to a pointer to its first element, but in this case that does not happen, and since you cannot assign to an (existing) array, you get that error.
The thing is that you don't need this assignment in the first place: the result is already written to the first argument, i.e., it is written to your result array.